package com.neuq.animaladoption.anno;

import com.neuq.animaladoption.validation.AnimalTypeValidation;

import javax.validation.Constraint;
import javax.validation.Payload;
import javax.validation.constraints.NotEmpty;
import java.lang.annotation.*;

@Documented// 元注解,可以在帮助文档中生成
@Target({ ElementType.FIELD})// 元注解，标明在哪些地方可以使用该注解
@Retention(RetentionPolicy.RUNTIME)// 元注解，将该注解保留到哪一阶段
@Constraint(validatedBy = {AnimalTypeValidation.class})// 指定提供校验规则的类
public @interface AnimalType {
    // 提供校验失败后的提示信息
    String message() default "{animalType参数的值只能是Cat或者Dog}";
    // 指定分组
    Class<?>[] groups() default {};
    // 负载，获取到animalType注解的附加信息
    Class<? extends Payload>[] payload() default {};
}
